package com.example.dense_rack_server.enums;

import lombok.AllArgsConstructor;

/**
 * 备份类型枚举类
 *
 * @author asurplus
 */
@AllArgsConstructor
public enum BackupCategoryEnum {

    /**
     * 手动备份
     */
    MANUAL("0", "手动备份"),

    /**
     * 自动备份
     */
    AUTO("1", "自动备份"),

    /**
     * 1. 每一分钟执行一次
     */
    AUTO_MINUTE("0 0/1 * * * ?", "每一分钟执行一次"),

    /**
     * 1 每半小时执行一次（整点和半点触发）
     */
    AUTO_HALF_HOUR("0 0/30 * * * ?", "每半小时执行一次(整点和半点触发)"),

    /**
     * 2 每小时执行一次（整点触发）
     */
    AUTO_HOUR("0 0 * * * ?", "每小时执行一次(整点触发)"),

    /**
     * 3 每天中午12点执行
     */
    AUTO_NOON("0 0 12 * * ?", "每天中午12点执行"),

    /**
     * 4 每周一中午12点执行
     */
    AUTO_MONDAY("0 0 12 ? * MON", "每周一中午12点执行"),

    /**
     * 5 每月1号中午12点执行
     */
    AUTO_FIRST_DAY("0 0 12 1 * ?", "每月1号中午12点执行"),

    /**
     * 6 每月15号中午12点执行
     */
    AUTO_FIFTEENTH_DAY("0 0 12 15 * ?", "每月15号中午12点执行"),

    /**
     * 7 每月最后一天中午12点执行
     */
    AUTO_LAST_DAY("0 0 12 L * ?", "每月最后一天中午12点执行");

    private final String code;

    /**
     * 返回消息
     */
    private final String msg;

    public String getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
